'use strict';
// 获取数据库的引用
const db = uniCloud.database()
// 聚合操作符
const $ = db.command.aggregate

exports.main = async (event, context) => {
	
	const {
		user_id,
		name,
		page = 1,
		pageSize =10
	} = event
	
	let matchObj = {}
	if(name !== '全部') {
		matchObj = {
			classify: name
		}
	}
	
	const userinfo = await db.collection('user').doc(user_id).get()
	const article_likes_ids = userinfo.data[0].article_likes_ids
	
	// 聚合操作：更精细化的处理数据
	const list = await db.collection('article')
	.aggregate()
	// 追加字段
	.addFields({
		is_like: $.in(['$_id', article_likes_ids])
	})
	.match(matchObj)
	.project({
		content: 0
	})
	// 跳过指定数据数返回
	.skip(pageSize*(page-1))
	.limit(pageSize)
	.end()
	
	// 接收分类，通过分类筛选数据
	// const list = await db.collection('article')
	// .field({
	// 	// true 只获取该数据，false 排除此数据
	// 	content: false
	// })
	// .get()
	
	//返回数据给客户端
	return {
		code: 200,
		msg: '请求数据成功',
		data: list.data
	}
};
